草庐IT

python - 从 python 执行 R 脚本

全部标签

ruby - 我能否编写仅在我的脚本运行时执行但在需要时不执行的 Ruby 代码?

我想写一个像这样的Ruby脚本:classFoo#instancemethodsheredefself.runfoo=Foo.new#dostuffhereendend#Thiscodeshouldonlybeexecutedwhenrunasascript,butnotwhenrequiredintoanotherfileunlessrequired_in?#我希望能够对其进行单元测试,这就是为什么我不希望类外的代码运行,除非我直接执行脚本,即rubyfoo_it_up.rb。我知道我可以简单地将Foo类放在另一个文件中并在我的脚本中require'foo'。事实上,这可能是一种更好

ruby-on-rails - RVM 查找系统 gems 的可执行文件

我已经安装了RVM和ruby​​版本。但是,如果我启动控制台并运行命令railsserver、bundleinstall等。我会收到此错误bash:/usr/bin/rails:/usr/bin/ruby1.8:badinterpreter:Nosuchfileordirectory但如果我先运行rvmuse1.9.2,那么一切都正常。我尝试使用`rvmuse--default1.9.2'但没有任何改变。这是否意味着它使用的ruby与RVM中的ruby不同?提前致谢! 最佳答案 rubygemsbin文件夹和PATH的解释哦。你没有

ruby - 在 Ruby 中执行非阻塞 I/O 的首选方式是什么?

如果说我想检索一个网页进行解析,但在I/O发生时不阻塞CPU。是否有与Python的Eventlet库等效的东西? 最佳答案 Ruby的最佳HTTP客户端库是Typhoeus,它可用于以非阻塞方式并行执行多个HTTP请求。有阻塞和非阻塞接口(interface):#blockingresponse=Typhoeus::Request.get("http://stackoverflow.com/")putsresponse.body#non-blockingrequest1=Typhoeus::Request.new("http://

ruby - Crontab 没有运行 ruby​​ 脚本

下面的crontab-l好像没有运行。手动运行的脚本运行良好。这是我看到的错误Dec320:12:01dahlia/USR/SBIN/CRON[13912]:(gigawatt)CMD(/bin/sh-c"(exportPATH=/usr/bin:/bin;/home/gigawatt/drbronnersbot/drbronnersbot.rb)")Dec320:12:01dahlia/USR/SBIN/CRON[13910]:(CRON)error(grandchild#13912failedwithexitstatus1)这是crontab:*****/bin/sh-c"(exp

ruby-on-rails - 如何在 Ruby on Rails 中执行期间确定 Controller 变量的值?

在执行期间确定Controller变量值的最佳方法是什么?例如,有没有办法在代码中插入一个中断,并使变量的值输出到屏幕(或日志)? 最佳答案 是的。最简单的方法是将值提升为字符串。像这样:raise@foo.to_s或者,您可以安装调试器(geminstallruby​​-debug),然后使用--debugger标志启动开发服务器。然后,在您的代码中,调用debugger指令。在调试器提示中,您有许多命令,包括打印变量值的p。更新:这里是abitmoreaboutruby-debug.

ruby-on-rails - RVM 的 Rails 脚本段错误

我遇到了段错误。whichruby​​应该返回/usr/local/bin吗?maletor$railsgeneratemailerContactMailer/Users/maletor/.rvm/gems/ruby-1.9.2-p0/gems/mysql2-0.2.4/lib/mysql2/mysql2.bundle:[BUG]**Segmentationfault**ruby1.8.7(2009-06-12patchlevel174)[universal-darwin10.0]Aborttrapmaletor$whichrails/usr/bin/railsmaletor$geme

ruby - 在后台运行 Ruby 脚本

我有一个Ruby脚本,我需要在我的Linux机器上一直运行它。我尝试了nohupruby​​ruby​​.rb&但它似乎不起作用。如何让脚本在后台运行? 最佳答案 查看screen,这是一个命令行实用程序。开始它screen您将获得一个分离的新外壳。在那里开始你的脚本rubywhatever.rb然后看着它运行。然后按Ctrl-ACtrl-D,你应该回到原来的shell。您现在可以离开sshsession,脚本将继续运行。稍后,登录到您的盒子并输入screen-r你应该回到分离的shell。如果你多次使用屏幕,你将不得不通过pid选

ruby-on-rails - 如何为有点独立的 Ruby 脚本设置 Rails 环境?

我的Rails应用程序中有一个Ruby脚本,用于从Twitter加载一些数据。将来我会让它成为一个自动后台进程,但现在我手动运行它,如下所示:ruby/lib/twitter/twitterLoad.rb为了使用Rails模型类等,我将以下内容作为脚本的第一行:require"#{File.dirname(__FILE__)}/../../config/environment.rb"默认使用开发环境。但是,我希望能够在某个时候选择生产环境。更新#1:RAILS_ENV常量正在environment.rb文件中设置。所以,我能够将ENV['RAILS_ENV']='production'

ruby - 传递给 `instance_exec` 时如何执行 proc

问题的灵感来自thisone.Proc::new有一个选项可以在方法内部没有block的情况下调用:Proc::newmaybecalledwithoutablockonlywithinamethodwithanattachedblock,inwhichcasethatblockisconvertedtotheProcobject.当proc/lambda实例作为代码块传递时,将创建Proc的新实例:Proc.singleton_class.prepend(Module.newdodefnew(*args,&cb)puts"PROC#{[block_given?,cb,*args].i

ruby - 从包含的文件中,如何获取执行包含的文件的文件名?

对于问题标题措辞不佳的道歉-不知道如何把它说得更好!在下面的代码中,当我执行rubybar.rb时,如何让它输出bar.rb,而不是foo.rb?在foo.rb中:moduleFoodeffilename__FILE__endend在bar.rb中:require_relative'foo'includeFooputsfilename#outputs'foo.rb'这是一个库函数,每次执行一些代码时,都会记录该代码的位置(和gitref)。 最佳答案 你的问题促使我打开Ruby解释器源代码,看看__FILE__是如何工作的。答案很有